// 地图

// 百度  => 高德 转换公式   （百度/deviation = 高德）
//window.amap_logdeviation = 1.0000568461567492425578691530827;//经度偏差
//window.amap_latdeviation = 1.0002012762190961772159526495686;//纬度偏差

window.amap_logdeviation = 1;//经度偏差
window.amap_latdeviation = 1;//纬度偏差

// 上海的中心坐标
window.amap_Shanghai_name = '上海';
window.amap_Shanghai_lng = 121.53900146;
window.amap_Shanghai_lat = 31.2527262
// 普陀区的中心坐标（普陀区不唯一， 可以使用Geocoder类， 当前为未使用，因为回调函数破坏了整个结构）
window.amap_putuo_name = '普陀区';
window.amap_putuo_lng = 121.39532089;
window.amap_putuo_lat = 31.24098538
// 视野等级
window.amap_privince_level = 10;
window.amap_city_level = 13;

/**
 * 加载插件（工具条/鹰眼 /比例尺）
 * 
 * oAMap 地图实例
 */
var AMap_addPlugin = function(oAMap){
	oAMap.plugin(["AMap.ToolBar","AMap.OverView,AMap.Scale"], function() {  
		// 加载工具条  
		tool = new AMap.ToolBar({
			direction: true, // 隐藏方向导航  
			ruler: true, // 隐藏视野级别控制尺  
			autoPosition: false // 禁止自动定位  
		});  
		oAMap.addControl(tool);

		// 加载鹰眼  
		view = new AMap.OverView();
		oAMap.addControl(view);

		// 加载比例尺  
		scale = new AMap.Scale(1000);
		oAMap.addControl(scale);
	});
}

/**
 * 加载信息窗口
 *
 * oAMap 地图实例
 * AMapPoint 信息坐标
 * content 信息
 */
var AMap_addPointInfoWindow = function(oAMap, AMapPoint, content){
	// 初始化一个信息窗口对象  
	var inforWindow = new AMap.InfoWindow({
		offset:new AMap.Pixel(-95, -80),  
		content:content
	}); 
	inforWindow.open(oAMap, AMapPoint);
	// 关闭
	oAMap.bind(oAMap, "click", function(){
		inforWindow.close();
	})
	return inforWindow;
}

/**
 * 加载点覆盖图标
 *
 * oAMap 地图实例
 * AMapPoint 点坐标
 * id 唯一ID
 * content 信息
 */
var AMap_addPoint = function(oAMap, AMapPoint, id, content){
	var marker = new AMap.Marker({
		id:"AMap_js" + id,
		position: AMapPoint,//基点位置
		offset: new AMap.Pixel(-8,-34),//相对于基点的位置
		icon: "http://www.che1an.com/images/ditu4.png"
	});
	oAMap.addOverlays(marker); //加载覆盖物 
	
	// 点击事件
	oAMap.bind(marker, "mouseover", function(){
		AMap_addPointInfoWindow(oAMap, AMapPoint, content);
	})
}

/**
 * 获取点的详细信息html
 * 
 * oData 信息数据对象 {title:,logo:,address:}
 */
var AMap_getPointContent = function(oData){
	var info = '<div class="AMapPoint">';
	info += '<a onclick="window.open(this.href);" href="' + oData.url + '" target="_blank"><img src="' + oData.logo + '" class="AMapPointImg"/></a>';
	info += '<p class="AMapPointTitle"><a onclick="window.open(this.href);" href="' + oData.url + '" target="_blank">' + oData.title + '</a></p>';
	info += '<p class="AMapPointP">车易信用指数:' + oData.point + '</p>';
	info += '<p class="AMapPointP">地址:' + oData.address + '</p>';
	info += '</div>';
	
	return info;
}

/**
 * 加载汽配市场点覆盖图标
 *
 * oAMap 地图实例
 * AMapPoint 点坐标
 * id 唯一ID
 * content 信息
 */
var AMap_addMarket = function(oAMap, AMapPoint, id, content){
	var marker = new AMap.Marker({
		id:"AMap_js" + id,
		position: AMapPoint,//基点位置
		offset: new AMap.Pixel(-8,-34),//相对于基点的位置
		icon: "http://www.che1an.com/images/house.png"
	});
	oAMap.addOverlays(marker); //加载覆盖物 
	
	// 点击事件
	oAMap.bind(marker, "mouseover", function(){
		AMap_addPointInfoWindow(oAMap, AMapPoint, content);
	})
}

/**
 * 获取汽配市场的详细信息html
 * 
 * oData 信息数据对象 {title:,logo:,address:}
 */
var AMap_getMarketContent = function(oData){
	var info = '<div class="AMapMarket">';
	info += '<p class="AMapMarketTitle"><a onclick="window.open(this.href);" href="' + oData.url + '" target="_blank">' + oData.title + '</a></p>';
	info += '<p class="AMapMarketP">(共有' + oData.company_num + '家供货商)</p>';
	info += '<p class="AMapMarketP">地址:' + oData.address + '</p>';
	info += '</div>';
	
	return info;
}

/**
 * 加载旗帜覆盖图标
 *
 * oAMap 地图实例
 * AMapPoint 点坐标
 * id 唯一ID
 * content 信息
 */
var AMap_addFlag = function(oAMap, AMapPoint){
	var marker = new AMap.Marker({
		id:"AMap_js_Flag",
		position: AMapPoint,//基点位置
		offset: new AMap.Pixel(0,-20),//相对于基点的位置
		icon: "http://www.che1an.com/images/flag.png"
	});
	oAMap.addOverlays(marker); //加载覆盖物 
}

/**
 * 单个企业添加地图位置 用旗帜做标记
 * 
 * sMapDomId 地图容器
 * sLngDomId lng 保存dom id
 * sLatDomId lat 保存dom id
 */
var AMap_FlagInit = function(sMapDomId, sLngDomId, sLatDomId){
	
	var lng = $("#" + sLngDomId).val();
	var lat = $("#" + sLatDomId).val();
	
	if (lng == '' || lat == ''){
		var opt = {
			level : amap_privince_level,//设置地图zoom级别
			center : new AMap.LngLat(amap_Shanghai_lng, amap_Shanghai_lat)//设置地图中心点   
		}
	} else {
		var opt = {
			level : 15,//设置地图zoom级别
			center : new AMap.LngLat(lng, lat)//设置地图中心点   
		}
	}
	
	var mapObj = new AMap.Map(sMapDomId, opt); // 创建地图实例  
	
	// 添加插件
	AMap_addPlugin(mapObj);
	
	// 加旗帜
	if (lng != '' && lat != ''){
		AMap_addFlag(mapObj, new AMap.LngLat(lng, lat));
	}
	
	// click 不触发drag事件
	var isFlag = true;
	mapObj.bind(mapObj,"mousedown",function(e){
		isFlag = true;
	});
	mapObj.bind(mapObj,"dragging",function(){
		isFlag = false;
	});
	mapObj.bind(mapObj,"mouseup",function(e){
		if (isFlag){
			$("#" + sLngDomId).val(e.lnglat.lng);
			$('#' + sLatDomId).val(e.lnglat.lat);
			AMap_addFlag(mapObj, new AMap.LngLat(e.lnglat.lng, e.lnglat.lat));
		}
	});
	
	window.mapObj = mapObj;
}

var AMap_FlagSetCenter = function(sAddressName){
	if (sAddressName == ''){
		return false;
	}
	var geo = new AMap.Geocoder(); 
	geo.geocode(sAddressName,function(data){
		var resultStr=""; 
		if(data.status == "E0"){ 
			var x = data.list[0].x;
			var y = data.list[0].y;
			mapObj.setCenter(new AMap.LngLat(x, y));
			mapObj.setZoom(amap_city_level);
		}
	}); 
}

function get_area () {
	  var area_id = $("#district").val();
	  $.post(
	         "/ajax/get_area",	
	         {id: area_id},
	         function(data) {
	           if(data!="0") {
	        	   AMap_FlagSetCenter(data);
	           }
	         }
	  );
	}
